<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    // function addTwo (x) {
    //   return x + 2
    // }
    // function addThree (x) {
    //   return x + 3
    // }
    // function addFive (x) {
    //   return x + 5
    // }
    // function addTen (x) {
    //   return addFive(addThree(addTwo(x)))
    // }
    // function addTen1 (x) {
    //   return Promise.resolve(x).then(addFive).then(addTwo).then(addThree)
    // }
    // addTen1(8).then(res => {
    //   console.log(res)
    // })
    // function addTen2(x) {
    //   return [addFive,addTwo,addThree].reduce((promise,fn) => {
    //     return promise.then(fn)
    //   },Promise.resolve(x))
    // }
    // addTen2(8).then(res => {
    //   console.log(res)
    // })

    // function compose(...fns) {
    //   return (x) => {
    //     return fns.reduce((promise,fn) => {
    //       return promise.then(fn)
    //     },Promise.resolve(x))
    //   }
    // }
    // const addTen3 = compose(addThree,addTwo,addFive)
    // addTen3(8).then(res => {
    //   console.log(res)
    // })

    // async function fun() {
    //   await Promise.reject('foo')
    // }
    // fun().catch(err => {
    //   console.log(err)
    // })
    async function fun() {
     return Promise.reject('foo')
    }
    fun().catch(err => {
      console.log(err)
    })
  </script>
</body>

</html>
